#ifndef _PLAYER_TURN_PROMPTER_H_
# define _PLAYER_TURN_PROMPTER_H_

# include <string>
# include <SDL/SDL_ttf.h>
# include "Board.h"
# include "Image.h"

class PlayerTurnPrompter
{
private:
	static PlayerTurnPrompter& m_instance;
	TTF_Font* m_font;
	Image m_text;
	unsigned int m_count;

private:
	PlayerTurnPrompter();
	~PlayerTurnPrompter();

public:
	static PlayerTurnPrompter& Instance();

	bool init();
	bool prompt(SDL_Surface* _screen);
	void setCount(unsigned int _count);
	void decreaseCount(unsigned int _value = 1);
	unsigned int getCount() const;
	void setText(std::string const& _text, BoardCase _color);

public:
	__declspec(property(get=getCount, put=setCount))unsigned int Count;

private:
	PlayerTurnPrompter(PlayerTurnPrompter const&);
	PlayerTurnPrompter& operator=(PlayerTurnPrompter const&);
};

#endif // _PLAYER_TURN_PROMPTER_H_
